//package com.program.facesigninsystem.component;
//
//import com.rabbitmq.client.Channel;
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//
//@Component
//public class CodeVerifyListener {
//
//    @Resource
//    RedisTemplate redisTemplate;
//
//    @RabbitListener(queues = "queue_verify")
//    public Boolean handleVerifyCode(Message message, Channel channel) {
//        long deliveryTag = message.getMessageProperties().getDeliveryTag();
//        try {
//            String body = new String(message.getBody());
//            String[] parts = body.split(":");
//            String lid = parts[0];
//            String code = parts[1];
//
//            Object object = redisTemplate.opsForValue().get(lid + "-code");
//            boolean result = (object != null && code.equals(object.toString()));
//
//            // 发送确认
//            channel.basicAck(deliveryTag, false);
//            return result;
//        } catch (Exception e) {
//            e.printStackTrace();
//            try {
//                // 处理失败时不确认消息，以便消息可以重新投递
//                channel.basicNack(deliveryTag, false, false);
//            } catch (Exception ex) {
//                ex.printStackTrace();
//            }
//            return false;
//        }
//    }
//}
//
